home *** CD-ROM | disk | FTP | other *** search
/ Internet Surfer 2.0 / Internet Surfer 2.0 (Wayzata Technology) (1996).iso / pc / text / mac / faqs.447 < prev    next >
Text File  |  1996-02-12  |  28KB  |  722 lines

  1. Frequently Asked Questions (FAQS);faqs.447
  2.  
  3.  
  4.  
  5.       What: Font-Utility
  6.       Status: Shareware
  7.       Platforms: Macintosh
  8.       Get-From: ???
  9.  
  10. |   unps
  11. |
  12. |     What: Converts-PostScript-to-ASCII
  13. |     Status: free
  14. |     Platforms: POSIX, UNIX with nawk
  15. |     Get-From: email to jgm@cs.brown.edu
  16.  
  17.     wide.ps
  18.       prints pages of 132 characters by 103 lines in portrait mode in 6
  19.       point Courier. Just prepend to an ASCII file and send it to the
  20.       printer. By Carl Lydick.
  21.  
  22.       What: Converts-ASCII-to-PostScript, Written-in-PostScript
  23.       Status: free
  24.       Platforms: PostScript
  25.       Get-From: send a mail message whose body consists of the line "SEND
  26.          ASCII_TO_POSTSCRIPT" to FILESERV@SOL1.GPS.CALTECH.EDU (or,
  27.          if you're on ESnet/NSInet, to SOL1::FILESERV).
  28.  
  29. |   wmap2ps
  30. |     converts map files (MP1 format) from John B. Allison's 'The World
  31. |     Digitized' package to EPSF 2.0 conforming PostScript files. The
  32. |     latitude is usually projected using the mercator projection and
  33. |     the resulting figure may be scaled and positioned to the needs of
  34. |     the user.
  35. |
  36. |     What: Converts-MP1-to-PostScript
  37. |     Status: free
  38. |     Platforms: PostScript
  39. |     Get-From: email to jgm@cs.brown.edu
  40.  
  41.     xpr
  42.       is converts the bitmap from any X window to PostScript.
  43.       To convert an image to PostScript in X windows, you can display
  44.       the image on the screen and then use "xpr -device ps" in the
  45.       resulting X11 window. For example, to convert GIF to PostScript,
  46.       use xv or xshowgif (ftp from bongo.cc.utexas.edu (128.83.186.13))
  47.       and then xpr.
  48.  
  49.       What: Converts-Images
  50.       Status: ???
  51.       Platforms: X11
  52.       Get-From: ???
  53. Xref: bloom-picayune.mit.edu comp.lang.postscript:16093 news.answers:4298
  54. Newsgroups: comp.lang.postscript,news.answers
  55. Path: bloom-picayune.mit.edu!enterpoop.mit.edu!usc!wupost!uunet!brunix!brunix!jgm
  56. From: jgm@cs.brown.edu (Jonathan Monsarrat)
  57. Subject: PostScript monthly FAQ v2.01 11-30-92 [01-04 of 12]
  58. Supercedes: <1992Oct29.203929.24694@cs.brown.edu>
  59. Message-ID: <1992Dec1.044249.13508@cs.brown.edu>
  60. Followup-To: poster
  61. Summary: Useful facts about the PostScript graphics programming language
  62. Sender: news@cs.brown.edu
  63. Reply-To: jgm@cs.brown.edu (PostScript FAQ comments address)
  64. Organization: Brown University Department of Computer Science
  65. Date: Tue, 1 Dec 1992 04:42:49 GMT
  66. Approved: news-answers-request@MIT.Edu
  67. Expires: Thu, 31 Dec 1992 00:00:00 GMT
  68. Lines: 849
  69.  
  70. Archive-name: postscript-faq/part1-4
  71. Last-modified: 1992/11/30
  72. Version: 2.01
  73.  
  74.                               -- PostScript --
  75.  
  76.                             Answers to Questions
  77.  
  78.                    (the comp.lang.postscript FAQ v2.01)
  79.  
  80.                                Jon Monsarrat
  81.  
  82.                               jgm@cs.brown.edu
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.                      This FAQ is formatted as a digest.
  90.  
  91.                 Most news readers can skip from one question
  92.  
  93.                      to the next by pressing control-G.
  94.  
  95.  
  96.     Changes since the last version are marked with a '|' in the table
  97.     of contents and in the sections in the text-only format of the FAQ.
  98.  
  99.     Please help fix the FAQ! All comments should be mailed to
  100.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is
  101.     when it is accompanied by a section of the FAQ that is edited and
  102.     mailed to me verbatim as an example. If you would like to
  103.     contribute, please read the section ``about the FAQ'' first. Thank
  104.     you!
  105.  
  106.     Books and programs are referred to by name only. See the
  107.     appropriate sections for full information.
  108.  
  109.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics,
  110.  
  111.     Table of Contents
  112.  
  113.  
  114.     This FAQ has 12 sections. It is available by anonymous ftp to
  115.     wilma.cs.brown.edu:pub/comp.lang.postscript in ASCII, LaTeX, DVI,
  116.     and PostScript formats.
  117.  
  118.  
  119.       1 General Questions
  120.           1.1 What is PostScript?
  121.           1.2 How can I tell how many pages my document will have?
  122.           1.3 How can I print just one page or a few pages from a big
  123.           1.4 How can I print more than one page per sheet of paper?
  124.           1.5 How can I edit a PostScript picture?
  125.           1.6 How can I print PostScript on a non-PostScript printer?
  126.       2 Printers
  127.           2.1 How can I get my printer to talk back to me?
  128.           2.2 Should I leave my printer on?
  129.           2.3 How do I suppress the power-on start page?
  130. |         2.4 How do I make a downloaded font ``persistent''?
  131.           2.5 How do I remove a persistent (``permanent'') downloaded font?
  132.           2.6 How do I reset the printer without power-cycling?
  133.           2.7 About saving files
  134. |         2.8 What's the control-D business?
  135. |         2.9 Why does the printer say ``still busy'' when my document is
  136.           2.10 How should I set up my spoolers?
  137. |         2.11 What are PPD files?
  138.       3 Formats and Conversions
  139.           3.1 How can I convert PostScript to some other graphics format?
  140.           3.2 How can I convert DVI to PostScript?
  141.           3.3 How can I convert HP Laserjet language (PCL) to PostScript?
  142.           3.4 How can I convert TeX PK format to PostScript?
  143.           3.5 How do I embed PostScript into troff?
  144.           3.6 How do I embed PostScript into LaTeX or TeX?
  145.           3.7 How can I convert an image to PostScript?
  146.           3.8 How can I convert ASCII text to PostScript?
  147. |         3.9 How can I convert PostScript to ASCII?
  148.       4 Fonts
  149. |         4.1 What are .PFB and .PFA files?
  150.           4.2 How can I convert a PostScript font to TeX's PK format?
  151.           4.3 Why are Adobe fonts hidden?
  152.           4.4 How do I get bitmap representations of Adobe fonts?
  153.           4.5 What are some good ftp sites for fonts?
  154.           4.6 How can I re-encode a font?
  155.           4.7 What's the difference between a Type 1 and a Type 3 font?
  156. |         4.8 What vendors sell fonts for PostScript printers?
  157.           4.9 What are ATM fonts?
  158.           4.10 What are Multiple Master Fonts?
  159.           4.11 Do I need a Level Two printer to use Multiple Master Fonts?
  160.           4.12 What are Type 4 fonts?
  161.           4.13 What are Type 5 fonts?
  162.       5 Books
  163. |         5.1 Books
  164. |         5.2 Publishers
  165.       6 About Adobe
  166.           6.1 How do I get in touch with Adobe?
  167.           6.2 What can Adobe do for me?
  168.       7 Programming in PostScript
  169.           7.1 What is PostScript level 2?
  170.           7.2 Should I learn level 2 PostScript?
  171.           7.3 Where can I find examples of PostScript code?
  172.           7.4 How do I get the physical size of a page?
  173.           7.5 Why can't I do a pathforall after a charpath ?
  174.           7.6 How do I center a string of text around a point?
  175.           7.7 How can I concatenate two strings together?
  176. |         7.8 What do I do when I get stack overflow/underflow?
  177.           7.9 The Obfuscated PostScript Contest
  178.       8 Computer-specific PostScript
  179.           8.1 Sun Workstations
  180. |         8.2 IBM PC
  181.           8.3 Apple Macintosh
  182.       9 Encapsulated PostScript
  183. |         9.1 What is Encapsulated PostScript?
  184. |         9.2 What are EPSI and EPSF?
  185.           9.3 How do I convert PostScript to EPS?
  186.           9.4 How do I get the bounding box of a PostScript picture?
  187.       10 About The Comp.Lang.PostScript FAQ (and Usenet Guide to PostScript)
  188.           10.1 The PostScript FAQ: What is it?
  189.           10.2 How to get the FAQ files
  190.           10.3 How to write a FAQ answer
  191.           10.4 The FAQ can contain LaTeX and PostScript inserts
  192.           10.5 Revising the FAQ
  193.           10.6 How to submit new information
  194.           10.7 How to add a program description to the FAQ index
  195.           10.8 How to add a book description to the FAQ
  196.           10.9 Questions that need answers
  197.       11 About PostScript 2
  198.           11.1 What printers run PostScript 2?
  199.           11.2 Introduction
  200.           11.3 What is PostScript Level 2?
  201.           (contains 31 other sections)
  202. |     12 PostScript Interpreters and Utilities
  203.           12.1 How can I find a program?
  204.           12.2 How can I browse through PostScript programs?
  205. |         12.3 Keywords
  206. |         12.4 Interpreters
  207. |         12.5 Utilities
  208.  
  209.  
  210.  
  211. Subject: 1 General Questions
  212.  
  213.  
  214. Subject: 1.1 What is PostScript?
  215.  
  216.     PostScript is a graphics programming language.
  217.  
  218.     It is perhaps the most popular and versatile language for printers,
  219.     being used in printers world-wide. It is capable of drawing to
  220.     computer screens and any kind of drawing device. PostScript is
  221.     interpreted, stack based and untyped, like the computer language
  222.     FORTH.
  223.  
  224.     A number of programmers write PostScript programs directly for a
  225.     variety of drawing applications. However, PostScript programs are
  226.     usually documents meant to be printed that have been generated by a
  227.     program written in some compiled language.
  228.  
  229.  
  230. Subject: 1.2 How can I tell how many pages my document will have?
  231.  
  232.     The easiest way to count pages is view your document on-line with a
  233.     PostScript previewer. Some previewers like Ghostview and GSPreview
  234.     count the pages for you. (See Section 12, ``PostScript Interpreters
  235.     and Utilities''.)
  236.  
  237.     If your document is generated by a professional program, you should
  238.     be able to just count the number of ``%%Page:'' comments
  239.     imbedded in the document. With UNIX you can type
  240.  
  241.   grep -c %%Page document.ps
  242.  
  243.     to do this counting. (See Section 9, ``Encapsulated PostScript''.)
  244.  
  245.     The only completely reliable way to count pages is to ask the
  246.     printer. PostScript printers maintain a page counter that can be
  247.     queried before and after the job is printed, and the page count is
  248.     a simple subtraction. This tends to require rather sophisticated
  249.     spooling systems and a communications channel that is
  250.     bidirectional. However, some printers allow you to submit jobs on
  251.     one port, and issue queries on another. Experts using a level 2
  252.     printer can use the SerialOff.PS and SerialEHandlder.ps programs to
  253.     communicate bidirectionally to the printer.
  254.  
  255.  
  256. Subject: 1.3 How can I print just one page or a few pages from a big
  257.     document? How can I print pages in reverse order?
  258.  
  259.     Try using a host-specific program, like the UNIX command psrev,
  260.     which is part of the TranScript suite of software from Adobe
  261.     Systems. Or use the more general utilities Ghostview, psutils or
  262.     psxlate.
  263.  
  264.     There is no guarantee that a given PostScript document can be split
  265.     in such a manner. The reason is that some programs which generate
  266.     PostScript code don't conform to the Adobe Document Structuring
  267.     Conventions (DSC). (See Section 9, ``Encapsulated PostScript''.) A
  268.     notable example of this is Microsoft Word.
  269.  
  270.  
  271. Subject: 1.4 How can I print more than one page per sheet of paper?
  272.  
  273.     Use psnup or pstext or enscript.
  274.  
  275.     These programs redefine the PostScript ``showpage'' command to do
  276.     multiple PostScript pages per physical page. If one program doesn't
  277.     work with a complex document, try out other ones.
  278.  
  279.  
  280. Subject: 1.5 How can I edit a PostScript picture?
  281.  
  282.     If you know the PostScript programming language, just use any text
  283.     editor to edit the code directly.
  284.  
  285.     If you want to do it visually, you can use Canvas on the Macintosh.
  286.  
  287.  
  288. Subject: 1.6 How can I print PostScript on a non-PostScript printer?
  289.  
  290.     You need a tool that converts to something that your printer knows
  291.     how to print. Use Freedom of Press, GhostScript, hp2pbm, pageview,
  292.     TScript, or UltraScript.
  293.  
  294. Subject: 2 Printers
  295.  
  296.  
  297. Subject: 2.1 How can I get my printer to talk back to me?
  298.  
  299.     Experts using a level 2 printer can use the SerialOff.PS and
  300.     SerialEHandlder.ps programs to communicate bidirectionally to the
  301.     printer.
  302.  
  303.  
  304. Subject: 2.2 Should I leave my printer on?
  305.  
  306.     The general consensus seems to be that most computer equipment
  307.     lasts longer if left on. This presents less thermal stress to the
  308.     components.
  309.  
  310.  
  311. Subject: 2.3 How do I suppress the power-on start page?
  312.  
  313.     Disabling the start page is described in your printer's PostScript
  314.     supplement. The most common sequence is ``serverdict begin 0
  315.     exitserver statusdict begin false setdostartpage end''.
  316.  
  317.  
  318. Subject: 2.4 How do I make a downloaded font ``persistent''?
  319. |
  320. |
  321. |  %!PS-Adobe-2.0 ExitServer
  322. |  %%BeginExitServer: 0
  323. |  serverdict begin 0 exitserver
  324. |  %%EndExitServer
  325. |  % Test for existence of font, abort if present.
  326. |  % This won't work on a printer with a hard disk!
  327. |  /str 32 string def
  328. |  /Eurostile dup FontDirectory exch known
  329. |  { str cvs print ( is already loaded!\n) print flush quit }
  330. |  { (loading font ) print str cvs print (\n) print flush }
  331. |  ifelse
  332. |  %% Font follows...
  333. |
  334. |   The part following " Eurostile to the name of the font. The default
  335. |   PFA behavior is to use up additional VM for the new copy if another
  336. |   copy has already been downloaded.
  337.  
  338.  
  339. Subject: 2.5 How do I remove a persistent (``permanent'') downloaded font?
  340.  
  341.     One trick for removing a persistent font (this requires that you
  342.     knew you would need to remove it before you downloaded it) is to
  343.     issue a ``serverdict begin 0 exitserver /magic-cookie save def''
  344.     before downloading and sending ``serverdict begin 0 exitserver
  345.     magic-cookie restore'' when you want to reclaim all VM used since
  346.     the first download. The downside of this is that is uses up a save
  347.     level, but this is usually not a problem.
  348.  
  349.  
  350. Subject: 2.6 How do I reset the printer without power-cycling?
  351.  
  352.     Most printers can be reset by issuing "serverdict begin 0
  353.     exitserver systemdict /quit get exec".
  354.  
  355.  
  356. Subject: 2.7 About saving files
  357.  
  358.     Adobe recommends that driver writers do not put EOT (control-D)
  359.     into files when saving to disk. Normally, the EOT is a part of the
  360.     protocol for parallel and serial ports and never hits the
  361.     PostScript interpreter.
  362.  
  363.     Drivers that do embed EOD can create problems for devices that
  364.     allow other communication methods (e.g. AppleTalk, Ethernet, and
  365.     SCSI) where the EOT is not part of the communications protocol. It
  366.     is useful to redefine EOT in these instances so that the
  367.     interpreter does not generate an error. The recommended
  368.     redefinition is:
  369.  
  370.  
  371.                    (\004) cvn {} def
  372.  
  373.     This should convert any stand-alone embedded EOTs into a null
  374.     procedure.
  375.  
  376.  
  377. Subject: 2.8 What's the control-D business?
  378.  
  379. |   PostScript printers communicating over serial lines use control-D
  380. |   as an end of job indicator. The host computer should then wait for
  381. |   the printer to send a control-D back to indicate that the job has
  382. |   finished. Managing the serial protocol between host and printer
  383. |   should be done by some form of print service, but if you're unsure
  384. |   whether your print service is doing it, it's an idea to send one
  385. |   yourself.
  386. |
  387. |   PC type computers frequently do not have any kind of printer
  388. |   manager and applications end up sending control-D characters to the
  389. |   printer, sometimes before and after a job. PC applications
  390. |   frequently embed a control-D as the first character in the print
  391. |   file, presumably to flush out any other jobs, and thereby breaking
  392. |   the Adobe Document Structuring Conventions.
  393. |
  394. |   If you want to prevent applications from doing this, you could use
  395. |   a spooler which would look at the end of every outgoing file and
  396. |   drop the control-D on the end if there happened to be one.
  397. |
  398. |   If you want a spooler, check out lprps.
  399.  
  400.  
  401. Subject: 2.9 Why does the printer say ``still busy'' when my document is
  402.     done printing?
  403.  
  404. |   Sometimes when you finish a print job, the printer "Ready" light
  405. |   keeps flashing for a minute or so. Somehow, the printer has
  406. |   received some character(s) after the control-D which was sent
  407. |   immediately after the PostScript file. The printer took these
  408. |   character(s) to be another program, and eventually timed-out while
  409. |   waiting for the rest of it. This can happen because of the host not
  410. |   waiting for the printer to finish.
  411.  
  412.  
  413. Subject: 2.10 How should I set up my spoolers?
  414.  
  415.     Since PostScript usually is prefixed with ``%!'', it's easy to
  416.     educate your spooler to autoselect between passing raw PostScript
  417.     through to the printer or doing an "ASCII-to-PostScript" conversion
  418.     first. There are many packages that will do this, including
  419.     Transcript and psxlate.
  420.  
  421.     Unfortunately, many PostScript applications generate PostScript
  422.     without a proper "%!" magic cookie.
  423.  
  424.     The spooler should be responsible for transmitting the ``job
  425.     termination code'' (a control-D on serially-connected printers) to
  426.     the printer, not the application. Do yourself a favor and disable
  427.     (or filter out) control-Ds in your applications and generate them
  428.     in the spooler. This will be far more reliable in the face of
  429.     arbitrary input.
  430.  
  431.  
  432. Subject: 2.11 What are PPD files?
  433. |
  434. |   Adobe Postscript Printer Description (PPD) files describe how to
  435. |   use the special features for a specific Postscript printer. They
  436. |   are suppose to be human-readable, but they are really only readable
  437. |   by PostScript gurus. It is the responsibility of the printer
  438. |   manufacturer to supply PPD files. However, the Adobe mail server
  439. |   has many of them. (see the Section 6, ``About Adobe'')
  440.  
  441. Subject: 3 Formats and Conversions
  442.  
  443.     This section describes all formats that can be converted to and
  444.     from PostScript, and how to convert them. Encapsulated PostScript
  445.     and Fonts have their own sections.
  446.  
  447.  
  448. Subject: 3.1 How can I convert PostScript to some other graphics format?
  449.  
  450.     Since PostScript is not just a picture-description language, but in
  451.     fact a complete programming language, you will need a complete
  452.     PostScript interpreter to convert or display a PostScript graphic.
  453.     (See Section 12, ``PostScript Interpreters and Utilities''.)
  454.  
  455.     Try using TranScript.
  456.  
  457.  
  458. Subject: 3.2 How can I convert DVI to PostScript?
  459.  
  460.     Use dvips.
  461.  
  462.  
  463. Subject: 3.3 How can I convert HP Laserjet language (PCL) to PostScript?
  464.  
  465.     Use lj2ps for simple PCL. Alternatively, another lj2ps, from
  466.     psroff3.0, is a little more complete.
  467.  
  468.     hp2pbm can convert all of PCL4 (up to and including rasters,
  469.     downloaded fonts and macros).
  470.  
  471.  
  472. Subject: 3.4 How can I convert TeX PK format to PostScript?
  473.  
  474.     Psroff3.0 contains programs that can convert TeX PK format or HP
  475.     SFP format fonts into PostScript bitmap fonts. While bitmap bfonts
  476.     scale poorly, this is sometimes of use in special circumstances.
  477.  
  478.  
  479. Subject: 3.5 How do I embed PostScript into troff?
  480.  
  481.     Most troffs can be ``coerced'' into including PostScript figures.
  482.     The best approach is a configuration that takes EPS PostScript and
  483.     can automatically scale it, or tell troff how big the picture is.
  484.     Groff and DWB 3 have this built in.
  485.  
  486.     psfig is an add-on EPS inclusion handler that can add this
  487.     capability to other versions of troff, provided that a compatible
  488.     PostScript driver is used (Psroff 3.0 for ditroff or CAT troff,
  489.     Transcript for ditroff). See the comp.text FAQ for more detail.
  490.  
  491.  
  492. Subject: 3.6 How do I embed PostScript into LaTeX or TeX?
  493.  
  494.     You should use an add-on program for seamless PostScript inclusion.
  495.  
  496.     For generic PostScript in a professional document, use psfig.
  497.  
  498.     If your LaTeX is simple, but your PostScript is fancy, try using
  499.     LameTeX.
  500.  
  501.     If you need a good compromise, use pstricks.
  502.  
  503.     For more detail, see the comp.text.tex FAQ.
  504.  
  505.  
  506. Subject: 3.7 How can I convert an image to PostScript?
  507.  
  508.     Try PBMPLUS.
  509.  
  510.     To convert an image to PostScript in X windows, you can display the
  511.     image on the screen and then use ``xpr -device ps'' in the
  512.     resulting X11 window. For example, to convert GIF to PostScript,
  513.     use xv or xshowgif (ftp from bongo.cc.utexas.edu (128.83.186.13))
  514.     and then xpr.
  515.  
  516.     A more general alternative in X windows would be to use the PPM,
  517.     PGM and PBM utilities in the X11R4 and X11R5 distributions.
  518.  
  519.  
  520. Subject: 3.8 How can I convert ASCII text to PostScript?
  521.  
  522.     Unless your printer is smart about raw ASCII, you can't just send
  523.     the ASCII to a PostScript printer, because the printer will attempt
  524.     to interpret your ASCII file as PostScript code. You need a program
  525.     which will wrap some PostScript code around your ASCII file.
  526.  
  527.     Try any of the following programs: asciiprint.ps, ato2pps, cz,
  528.     ETSR, i2ps, lpp, lwf, POSTPRN, printer, psf, psfx80, PSR, ps2txt,
  529.     pstext, swtext, text2ps, TranScript, spike.ps, enscript, nenscript,
  530.     a2ps, asc2ps, ascii2ps, crossword.ps, double.ps, landscape.ps,
  531.     numbered.ps, portrait.ps, or wide.ps.
  532.  
  533.  
  534. Subject: 3.9 How can I convert PostScript to ASCII?
  535. |
  536. |    In general, when you say ``I want to convert PostScript to ASCII''
  537. |    what you really mean is ``I want to convert MacWrite (which makes
  538. |    PostScript output) to ASCII'' or ``I want to convert somebody's TeX
  539. |    document (which I have in PostScript) to ASCII''.
  540. |
  541. |    Unfortunately, programs like these (if they're smart) do a lot of
  542. |    fancy stuff like kerning, which means that where they would
  543. |    normally execute the postscript command for
  544. |
  545. |
  546. |      ``print water buffalo''
  547. |
  548. |    instead they execute the postscript command for
  549. |
  550. |
  551. |      ``print wat''      (move a little to get the spacing *just* right)
  552. |      ``print er''       (move a little to get the spacing *just* right)
  553. |      ``print buff''     (move a little to get the spacing *just* right)
  554. |      ``print alo''      (move a little to get the spacing *just* right)
  555. |
  556. |    So if I write a program to look through a PostScript file for
  557. |    strings, like ps2ascii.pl, It can't tell where the words really
  558. |    end. Here my program would see 4 strings
  559. |
  560. |
  561. |  ``wat'' ``er'' ``buff'' ``alo''
  562. |
  563. |    And it doesn't see any difference between the spacing between
  564. |    ``buff'' and ``alo'' (not a word break) and the spacing between
  565. |    ``er'' and ``buff'' (a real word break).
  566. |
  567. |    The problem is that PostScript for text formatting is usually
  568. |    produced machine generated by a text formatter. A PostScript
  569. |    generator like dvips might have a special command like ``boop''
  570. |    that differentiates between a real world break and a fake one. But
  571. |    every text formatter that generates PostScript has their own name
  572. |    for the ``boop'' command.
  573. |
  574. |    So you really want a ``PostScript -> ASCII converter for dvips
  575. |    output''.
  576. |
  577. |    The only general solution I can see would be to redefine the show
  578. |    operator to print out the currentpoint for every letter being
  579. |    printed, like gs2asc, and then make up an ASCII page based on this
  580. |    by sticking ASCII characters where they go in a two-dimensional
  581. |    array. That would convert PostScript to ASCII "formatted".
  582. |
  583. |    But even that wouldn't solve the problem, because special bitmap
  584. |    fonts and and standard fonts like Symbol don't always print a "P"
  585. |    when you say the letter "P". Sometimes they print the greek Pi
  586. |    symbol or a chess piece or a ZapfDingBat.
  587.  
  588.     Use ps2a, ps2ascii, ps2txt, ps2ascii.ps or ps2ascii.pl.
  589.  
  590.     For UNIX users, the following csh command will extract all of the
  591.     strings from a PostScript file and print them.
  592.  
  593.  
  594.   % usage: unps < infile.ps > outfile.txt
  595. alias unps \(sed \
  596.  \''s/%.*$//g;s/^[ \t]*[^()]*$//g;s/^[^(]*(//g;s/)[^(]*(/ /g;s/)[^)]*$//g;'\' \
  597.  \| tr '\\012' '\\040' \| tr -s '\\040' '\\040' \; echo \'\'\)
  598.  
  599. Subject: 4 Fonts
  600.  
  601.     This section answers questions about fonts as they pertain to
  602.     PostScript. See the comp.fonts FAQ for more information about
  603.     fonts.
  604.  
  605.  
  606. Subject: 4.1 What are .PFB and .PFA files?
  607.  
  608.     ``PFB'' stands for Printer Font Binary, and is a binary format in
  609.     which Adobe Type 1 font programs are usually distributed for IBM PC
  610.     and compatibles. Many application programs support fonts in this
  611. |   format, and refer to them as ``downloadable''. The Macintosh uses a
  612. |   different binary storage format than does the PC.
  613.  
  614.     PFB files are compressed, and as a result, cannot be sent directly
  615.     to a PostScript printer. Application programs like dvips which use
  616.     fonts in this format uncompress the font before sending it to the
  617.     printer. If you would like to use a font which is in PFB format, it
  618.     is necessary to uncompress it first, to make a PFA file. Adobe
  619. |   Systems supply a font downloader for PC's which turns the PFB
  620. |   format into PFA format on the fly as it's being downloaded.
  621.  
  622.     ``PFA'' stands for Printer Font ASCII, which is the uncompressed
  623.     version of a PFB file. Once you have the PFA file, just send it to
  624.     the printer ahead of your file, and use the font like any other.
  625.     There are several programs which can do the conversion from PFB to
  626.     PFA for you. Try t1utils.
  627.  
  628.  
  629. Subject: 4.2 How can I convert a PostScript font to TeX's PK format?
  630.  
  631.     Use ps2pk or try out the GNU font utilities in fontutils.
  632.  
  633.  
  634. Subject: 4.3 Why are Adobe fonts hidden?
  635.  
  636.     In PostScript level 1, Adobe's fonts were hidden because they
  637.     didn't want people pirating copies instead of paying for them.
  638.     That's why you can't do a pathforall on a charpath.
  639.  
  640.     PostScript Level Two has removed the restriction, in the words of
  641.     the new Red Book, ``for most fonts''. There will still be some
  642.     vendors who will want to restrict access. Japanese font vendors,
  643.     for example, are concerned about piracy -- given the work that goes
  644.     into an 8,000-character Kanji font.
  645.  
  646.  
  647. Subject: 4.4 How do I get bitmap representations of Adobe fonts?
  648.  
  649.     On the IBM PC, use the Font Foundary program included with the
  650.     font. If you don't have it, contact Adobe for an upgrade.
  651.  
  652.  
  653. Subject: 4.5 What are some good ftp sites for fonts?
  654.  
  655.  
  656.   ftp.cs.umb.edu
  657.   sumex-aim.stanford.edu
  658.   archive.umich.edu
  659.   ftp.cica.indiana.edu    /pub/pc/win3/fonts
  660.   colonsay.dcs.ed.ac.uk   /pub/postscript/fonts
  661.   yak.css.itd.umich.edu
  662.  
  663.  
  664.   For the NeXT platform, fonts are available on the NeXT-FTP-archives,
  665.           sonata.cc.purdue.edu :/pub/next/graphics/fonts
  666.           fiasko.rz-berlin.mpg.de :/pub/next/fonts
  667.  
  668.     For Macintosh, look in sumex-aim.stanford.edu,
  669.     mac.archive.umich.edu, and ftp.cs.umb.edu (192.12.26.23), in
  670.     pub/tex/ps-screenfonts.tar.Z.
  671.  
  672.     Color PostScript samples and many other PostScript programs are
  673.     available from irisa.irisa.fr.
  674.  
  675.  
  676. Subject: 4.6 How can I re-encode a font?
  677.  
  678.     See ddev.ps for an example for code that does this.
  679.  
  680.  
  681. Subject: 4.7 What's the difference between a Type 1 and a Type 3 font?
  682.  
  683.     The Type 1 font format has nothing to do with TrueType, which is
  684.     another font format defined by Apple. The Type 1 font format has
  685.     been around quite a while, and is used on a wide variety of
  686.     platforms to obtain scalable fonts.
  687.  
  688.     The Type 1 font format is a compact way of describing a font
  689.     outline using a well-defined language that can be quickly
  690.     interpreted. The language contains operations to provide the
  691.     rasterizer with additional information about a character, known as
  692.     hints. The Type 1 font format is defined in the book "The Adobe
  693.     Type 1 Font Format", also known as the black-and-white book, for
  694.     the colors on its cover.
  695.  
  696.     Most clone interpreters will not have Adobe's proprietary rendering
  697.     technology which interprets font hints to improve the appearance of
  698.     fonts shown at small sizes on low-resolution devices. The
  699.     exceptions are PowerPage and UltraScript.
  700.  
  701.     The Type 3 font format is a way of packaging up PostScript
  702.     descriptions of characters into a font, so that the PostScript
  703.     interpreter can rasterize them. It is often easier to create a Type
  704.     3 font program by hand than to create the corresponding Type 1 font
  705.     program. Type 3 font programs have access to the entire PostScript
  706.     language to do their imaging, including the 'image' operator. They
  707.     can be used for bitmapped fonts, although that is certainly not a
  708.     requirement. The Type 3 font format contains no provisions for
  709.     'hinting', and as such Type 3 font programs cannot be of as high a
  710.     quality at low resolutions as the corresponding Type 1 font
  711.     program.
  712.  
  713.     Both formats are scalable formats, and both can be run on any
  714.     PostScript interpreter. However, because of the requirement that a
  715.     Type 3 font program have a full PostScript interpreter around, Type
  716.     3 font programs cannot be understood by the Adobe Type Manager.
  717.     Only Type 1 font programs can.
  718.  
  719.     Because of Adobe Type Manager's wide availability on a large number
  720.     of platforms (PC, Mac, and Unix), the Type 1 font format makes an
  721.     excellent cross-platform scalable font standard.
  722.